import isType from './detectionType'//检测数据类型
import objectProxy from './objectProxy'//type==Object数据劫持
import { arrayPrototype } from './arrayProxy'//重写Array方法用来数据劫持
export default function observer(data: any) {
    //如果是数组，就要用其它方式来监听
    if (isType(data) == 'Array') {
        data.__proto__ = arrayPrototype;
        for (let value of data) {
            observer(value);
        }
    } else if (isType(data) == 'Object') {
        for (let key in data) {
            objectProxy(data, key, data[key])
        }
    } else {
        //其他基本数据类型时直接退出
        return;
    }
}